Uitwisselprofiel NZa Structurele Informatieverstrekking Bedrijfsvoering Wmg

1.1.4 Aantal ingestroomde contractuele FTE personeel in loondienst (PIL) zonder zorgfunctie

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: NZA Wmg 1.1.4
2# Parameters:
3# Ontologie: versie 3.0
4# Aantal ingestroomde contractuele FTE personeel in loondienst (PIL) zonder zorgfunctie
5
6PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX onz-g: <http://purl.org/ozo/onz-g#>
9PREFIX onz-org: <http://purl.org/ozo/onz-org#>
10PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11
12SELECT
13    (SUM(?fte_instroom) AS ?Teller)
14    ("Niet van toepassing" AS ?Noemer)
15    (?Teller AS ?Indicator_FTE36)
16{
17    SELECT
18        ?persoon
19        (IF(SUM(?fte * ?geldig_eind) > SUM(?fte * ?geldig_start), SUM(?fte * ?geldig_eind) - SUM(?fte * ?geldig_start), 0) AS ?fte_instroom)
20    {
21        {
22            SELECT 
23                ?persoon
24                ?overeenkomst_afspraak
25                ?geldig_start
26                ?geldig_eind
27            {
28                BIND("2024-01-01"^^xsd:date AS ?peildatum)
29                BIND(?peildatum + "P1Y"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_peildatum)
30                ?overeenkomst 
31                    a onz-pers:ArbeidsOvereenkomst ; # personeel in loondienst
32                    onz-pers:heeftOpdrachtnemer ?persoon ;
33                    onz-g:hasPart ?overeenkomst_afspraak .
34                ?overeenkomst_afspraak
35                    a onz-pers:WerkOvereenkomstAfspraak ;
36                    onz-g:startDatum ?start_afspraak .
37                OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
38                BIND(IF(?start_afspraak <= ?peildatum && ((?eind_afspraak >= ?peildatum) || (!BOUND(?eind_afspraak))), 1, 0) AS ?geldig_start)
39                BIND(IF(?start_afspraak <= ?eind_peildatum && ((?eind_afspraak >= ?eind_peildatum) || (!BOUND(?eind_afspraak))), 1, 0) AS ?geldig_eind)
40                FILTER(?geldig_start = 1 || ?geldig_eind = 1) # alleen afspraken die geldig zijn in het jaar vanaf de peildatum
41
42                ?overeenkomst_afspraak
43                    onz-g:isAbout/a ?function_class .
44                ?function_class rdfs:subClassOf onz-g:OccupationalPositionRole .
45                BIND(IF(?function_class = onz-pers:ZorgverlenerFunctie, 1, 0) AS ?zorgverlener) # ?zorgverlener = 1 als afspraak over zorgverlenerfunctie gaat
46            }
47            GROUP BY ?persoon ?overeenkomst_afspraak ?geldig_start ?geldig_eind
48            HAVING (MAX(?zorgverlener) = 0) # neem max van ?zorgverlener omdat er dubbele regels voor kunnen komen (OccupationalPostionRole EN ZorgverlenerFunctie)
49                                            # filter zodat alleen zorgverleners overblijven
50        }
51        ?overeenkomst_afspraak onz-g:hasPart ?omvang . # haal omvang van alle geldige afspraken op
52        ?omvang 
53            a onz-pers:ContractOmvang ;
54            onz-g:isAbout ?omvang_waarde .
55        ?omvang_waarde
56            a onz-pers:ContractOmvangWaarde ;
57            onz-g:hasDataValue ?omvang_waarde_getal ;
58            onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
59        ?omvang_waarde_eenheid onz-g:hasDataValue ?eenheid_factor .
60        BIND(IF(?omvang_waarde_eenheid = onz-pers:fte_36, ?omvang_waarde_getal, ?omvang_waarde_getal / 36 * ?eenheid_factor) AS ?fte) # omrekenen naar fte_36
61    }
62    GROUP BY ?persoon # per persoon toe-/afname beoordelen
63}
64

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!